#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>

int main(int argc, char* argv[])
{
    if(argc != 2) {
        printf("参数不够!\n");
        exit(-1);
    }

    int fd = open(argv[1], O_RDWR | O_CREAT, 0777);
    if(fd == -1) {
        perror("open");
        exit(-1);
    }

    int len = write(fd, "Hello Kitty", sizeof("Hello Kitty"));
    if(len < 0) {
        perror("write");
        exit(-1);
    }

    // 此时，文件的读写位置，一定在文件的末尾
    char buf[1024];
    int len = read(fd, buf, sizeof(buf));
    if(len) {
        write(STDOUT_FILENO, buf, len);
    } else {
        write(STDOUT_FILENO, "No DATA", sizeof("No DATA"));
    }

    close(fd);

    return 0;
}

